import request from '@/utils/request'
import { type BaseResult, type Pagination, type ResultData, ApiMethodContants } from './base'

export interface OssApiResult extends BaseResult {
  /**
   * 业务描述字段，可以字符串，也可以是 JSON 字符串
   */
  business: string
  /**
   * 文件名
   */
  fileName: string
  /**
   * 文件备注
   */
  remark: string
  /**
   * 文件size
   */
  size: number
  /**
   * 文件mimetype类型
   */
  type: string
  /**
   * 文件 url
   */
  url: string
  /**
   * 上传用户帐号
   */
  userAccount: string
  /**
   * 上传用户id
   */
  userId: string
  [property: string]: any
}

export interface findOssList extends Pagination {
  startDay?: string

  endDay?: string
}

export function getFileList(params: findOssList): Promise<ResultData<OssApiResult>> {
  return request({
    url: '/oss/list',
    method: ApiMethodContants.GET,
    params
  })
}

export function fileUpload(data: FormData): Promise<ResultData<OssApiResult[]>> {
  return request({
    url: '/oss/upload',
    method: ApiMethodContants.POST,
    data
  })
}
